"""
    定义Account类
    (1).Account类要求具有属性：姓名(长度为2-4位),余额(必须>20)，密码(必须是六位)
        如果不满足,则给出提示信息,并给出默认值(程序员自己定)
    (2).通过set_xxx的方法给Account的属性赋值
    (3).编写query_info()接收姓名和密码,如果姓名和密码都正确,就返回账号信息
"""
"""
思路分析:
(1).类名Account
(2).属性 名(长度为2-4位),余额(必须>20)，密码(必须是六位)
(3).设置公共方法 set_xxx()  设置属性值
(4).编写query_info() 接收两个参数,返回账号信息
"""
class Account:
    #定义三个私有属性
    __name = None
    __balance = None
    __pwd = None

    #定义方法
    def set_name(self , name):
        #长度在2-4位
        if 2 <= len(name) <= 4:
            self.__name = name
        else:
            print("名字的长度不在2-4之间")

    def set_balance(self , balance):
        #余额(必须>20)
        if balance > 20:
            self.__balance = balance
        else:
            print("余额必须大于20")

    def set_pwd(self , pwd):
        #密码(必须是六位)
        if len(pwd) == 6:
            self.__pwd = pwd
        else:
            print("密码必须是六位")

    def query_info(self , name , pwd):
        if name == self.__name and pwd == self.__pwd:
            return f"账号信息，姓名:{self.__name} ,余额： {self.__balance}"
        else:
            print("请输入正确的名字和密码")

#测试
account = Account()
account.set_name("jack")
account.set_pwd("123456")
account.set_balance(88)
print(account.query_info("jack" , "123456"))